<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts: lib/stringsup.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts
   &#160;<span id="projectnumber">1.0</span>
   </div>
   <div id="projectbrief">ESP8266ILI9341DisplayProject</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">stringsup.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="user__config_8h_source.html">user_config.h</a>&quot;</code><br />
<code>#include &lt;string.h&gt;</code><br />
<code>#include &quot;<a class="el" href="stringsup_8h_source.html">lib/stringsup.h</a>&quot;</code><br />
</div>
<p><a href="stringsup_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:abc984b1c18a18e210587cffd4aa8000f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#abc984b1c18a18e210587cffd4aa8000f">sep</a> ()</td></tr>
<tr class="memdesc:abc984b1c18a18e210587cffd4aa8000f"><td class="mdescLeft">&#160;</td><td class="mdescRight">print seperator  <a href="#abc984b1c18a18e210587cffd4aa8000f">More...</a><br /></td></tr>
<tr class="separator:abc984b1c18a18e210587cffd4aa8000f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c33a3f5b4322e705d3403f63d55b0a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a8c33a3f5b4322e705d3403f63d55b0a1">isdigit</a> (int c)</td></tr>
<tr class="memdesc:a8c33a3f5b4322e705d3403f63d55b0a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">test if a character is a digit  <a href="#a8c33a3f5b4322e705d3403f63d55b0a1">More...</a><br /></td></tr>
<tr class="separator:a8c33a3f5b4322e705d3403f63d55b0a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1caa55b6624cc08af06c04cbfe6c02a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#aa1caa55b6624cc08af06c04cbfe6c02a">isupper</a> (int c)</td></tr>
<tr class="memdesc:aa1caa55b6624cc08af06c04cbfe6c02a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is a character upper case.  <a href="#aa1caa55b6624cc08af06c04cbfe6c02a">More...</a><br /></td></tr>
<tr class="separator:aa1caa55b6624cc08af06c04cbfe6c02a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15c5aeb16e6527e860098b0e062168b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a15c5aeb16e6527e860098b0e062168b5">islower</a> (int c)</td></tr>
<tr class="separator:a15c5aeb16e6527e860098b0e062168b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1825e0085bbbce998b39f9ff2682173c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a1825e0085bbbce998b39f9ff2682173c">tolower</a> (int c)</td></tr>
<tr class="memdesc:a1825e0085bbbce998b39f9ff2682173c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert character to lower case, only if it is upper case.  <a href="#a1825e0085bbbce998b39f9ff2682173c">More...</a><br /></td></tr>
<tr class="separator:a1825e0085bbbce998b39f9ff2682173c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96a73ab9e374d97a249f39eb6875ba79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a96a73ab9e374d97a249f39eb6875ba79">toupper</a> (int c)</td></tr>
<tr class="memdesc:a96a73ab9e374d97a249f39eb6875ba79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert character to upper case, only if it is lower case.  <a href="#a96a73ab9e374d97a249f39eb6875ba79">More...</a><br /></td></tr>
<tr class="separator:a96a73ab9e374d97a249f39eb6875ba79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76693775d57cf00d7cdb2e793ffd73f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a76693775d57cf00d7cdb2e793ffd73f1">memchr</a> (const void *str, int c, <a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a> size)</td></tr>
<tr class="memdesc:a76693775d57cf00d7cdb2e793ffd73f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">find a character in a string of maximum size  <a href="#a76693775d57cf00d7cdb2e793ffd73f1">More...</a><br /></td></tr>
<tr class="separator:a76693775d57cf00d7cdb2e793ffd73f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a895ea3a2f9901e4c962806cc15271339"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a> <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a895ea3a2f9901e4c962806cc15271339">strlen</a> (const char *str)</td></tr>
<tr class="memdesc:a895ea3a2f9901e4c962806cc15271339"><td class="mdescLeft">&#160;</td><td class="mdescRight">String Length.  <a href="#a895ea3a2f9901e4c962806cc15271339">More...</a><br /></td></tr>
<tr class="separator:a895ea3a2f9901e4c962806cc15271339"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17598481fa495598cd57447afde0ff6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a17598481fa495598cd57447afde0ff6b">strcpy</a> (char *dest, const char *src)</td></tr>
<tr class="memdesc:a17598481fa495598cd57447afde0ff6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy a string  <a href="#a17598481fa495598cd57447afde0ff6b">More...</a><br /></td></tr>
<tr class="separator:a17598481fa495598cd57447afde0ff6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdb13cf3724e976e98a6178baf0a3ac5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#acdb13cf3724e976e98a6178baf0a3ac5">strncpy</a> (char *dest, const char *src, <a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a> size)</td></tr>
<tr class="memdesc:acdb13cf3724e976e98a6178baf0a3ac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy a string of at most N characters  <a href="#acdb13cf3724e976e98a6178baf0a3ac5">More...</a><br /></td></tr>
<tr class="separator:acdb13cf3724e976e98a6178baf0a3ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c9fb6fae0723d90a3b652ad6d869eb4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a5c9fb6fae0723d90a3b652ad6d869eb4">strcat</a> (char *dest, const char *src)</td></tr>
<tr class="memdesc:a5c9fb6fae0723d90a3b652ad6d869eb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append string.  <a href="#a5c9fb6fae0723d90a3b652ad6d869eb4">More...</a><br /></td></tr>
<tr class="separator:a5c9fb6fae0723d90a3b652ad6d869eb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7f9d4db489856461ccf1c577b0035a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#af7f9d4db489856461ccf1c577b0035a5">strncat</a> (char *dest, const char *src, <a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a> max)</td></tr>
<tr class="memdesc:af7f9d4db489856461ccf1c577b0035a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append string of at most N bytes from src.  <a href="#af7f9d4db489856461ccf1c577b0035a5">More...</a><br /></td></tr>
<tr class="separator:af7f9d4db489856461ccf1c577b0035a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00b9d97be21e4f3f5df1019a803c05a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a00b9d97be21e4f3f5df1019a803c05a6">reverse</a> (char *str)</td></tr>
<tr class="memdesc:a00b9d97be21e4f3f5df1019a803c05a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse a string in place Example: abcdef -&gt; fedcba.  <a href="#a00b9d97be21e4f3f5df1019a803c05a6">More...</a><br /></td></tr>
<tr class="separator:a00b9d97be21e4f3f5df1019a803c05a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25ac5a1dbdfa1d06d55448cd7b665d1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a25ac5a1dbdfa1d06d55448cd7b665d1d">strupper</a> (char *str)</td></tr>
<tr class="memdesc:a25ac5a1dbdfa1d06d55448cd7b665d1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">UPPERCASE a string.  <a href="#a25ac5a1dbdfa1d06d55448cd7b665d1d">More...</a><br /></td></tr>
<tr class="separator:a25ac5a1dbdfa1d06d55448cd7b665d1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d7ec9dae4f58c027edbc22118714ba6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a2d7ec9dae4f58c027edbc22118714ba6">trim_tail</a> (char *str)</td></tr>
<tr class="memdesc:a2d7ec9dae4f58c027edbc22118714ba6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trim White space and control characters from end of string.  <a href="#a2d7ec9dae4f58c027edbc22118714ba6">More...</a><br /></td></tr>
<tr class="separator:a2d7ec9dae4f58c027edbc22118714ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cebaf955a9e3b5f1f2af105641dad40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a8cebaf955a9e3b5f1f2af105641dad40">skipspaces</a> (char *ptr)</td></tr>
<tr class="memdesc:a8cebaf955a9e3b5f1f2af105641dad40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skip white space in a string - tabs and spaces.  <a href="#a8cebaf955a9e3b5f1f2af105641dad40">More...</a><br /></td></tr>
<tr class="separator:a8cebaf955a9e3b5f1f2af105641dad40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a205ab859e76086c5239a49effa3281dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a205ab859e76086c5239a49effa3281dd">nextspace</a> (char *ptr)</td></tr>
<tr class="memdesc:a205ab859e76086c5239a49effa3281dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skip to first white space in a string - tabs and spaces.  <a href="#a205ab859e76086c5239a49effa3281dd">More...</a><br /></td></tr>
<tr class="separator:a205ab859e76086c5239a49effa3281dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae86b90fc6ccc0c432de5c492cdcbaba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#aae86b90fc6ccc0c432de5c492cdcbaba">skipchars</a> (char *str, char *pat)</td></tr>
<tr class="memdesc:aae86b90fc6ccc0c432de5c492cdcbaba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Skip characters defined in user string.  <a href="#aae86b90fc6ccc0c432de5c492cdcbaba">More...</a><br /></td></tr>
<tr class="separator:aae86b90fc6ccc0c432de5c492cdcbaba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abee00aec80e542c31b536a531ffe761a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#abee00aec80e542c31b536a531ffe761a">strcmp</a> (const char *str, const char *pat)</td></tr>
<tr class="memdesc:abee00aec80e542c31b536a531ffe761a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two strings.  <a href="#abee00aec80e542c31b536a531ffe761a">More...</a><br /></td></tr>
<tr class="separator:abee00aec80e542c31b536a531ffe761a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8c58d100b5e1ef176592486bb150bbc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#ac8c58d100b5e1ef176592486bb150bbc">strncmp</a> (const char *str, const char *pat, <a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a> len)</td></tr>
<tr class="memdesc:ac8c58d100b5e1ef176592486bb150bbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two strings maximum len bytes in size.  <a href="#ac8c58d100b5e1ef176592486bb150bbc">More...</a><br /></td></tr>
<tr class="separator:ac8c58d100b5e1ef176592486bb150bbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b20054fe279135f819d1c561f081649"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a5b20054fe279135f819d1c561f081649">strcasecmp</a> (const char *str, const char *pat)</td></tr>
<tr class="memdesc:a5b20054fe279135f819d1c561f081649"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two strings without case.  <a href="#a5b20054fe279135f819d1c561f081649">More...</a><br /></td></tr>
<tr class="separator:a5b20054fe279135f819d1c561f081649"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2fdec8b4be40840ac03df58d48bcc8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#af2fdec8b4be40840ac03df58d48bcc8d">strncasecmp</a> (const char *str, const char *pat, <a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a> len)</td></tr>
<tr class="memdesc:af2fdec8b4be40840ac03df58d48bcc8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two strings without case maximum len bytes in size.  <a href="#af2fdec8b4be40840ac03df58d48bcc8d">More...</a><br /></td></tr>
<tr class="separator:af2fdec8b4be40840ac03df58d48bcc8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fb9c5c9b25cdf504152f7610f0d118c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a9fb9c5c9b25cdf504152f7610f0d118c">MATCH</a> (char *str, char *pat)</td></tr>
<tr class="memdesc:a9fb9c5c9b25cdf504152f7610f0d118c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two strings.  <a href="#a9fb9c5c9b25cdf504152f7610f0d118c">More...</a><br /></td></tr>
<tr class="separator:a9fb9c5c9b25cdf504152f7610f0d118c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae330bc7e8f9c442404f44ca0187b27d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#ae330bc7e8f9c442404f44ca0187b27d3">MATCHARGS</a> (char *str, char *pat, int min, int argc)</td></tr>
<tr class="memdesc:ae330bc7e8f9c442404f44ca0187b27d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Match two strings and compare argument index Display message if the number of arguments is too few.  <a href="#ae330bc7e8f9c442404f44ca0187b27d3">More...</a><br /></td></tr>
<tr class="separator:ae330bc7e8f9c442404f44ca0187b27d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a158b18efacfbaf45bf46e03f355cf101"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a158b18efacfbaf45bf46e03f355cf101">MATCHI</a> (char *str, char *pat)</td></tr>
<tr class="memdesc:a158b18efacfbaf45bf46e03f355cf101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two strings without case.  <a href="#a158b18efacfbaf45bf46e03f355cf101">More...</a><br /></td></tr>
<tr class="separator:a158b18efacfbaf45bf46e03f355cf101"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac85ba7d5161939102f1daf99dcae85f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#ac85ba7d5161939102f1daf99dcae85f0">MATCH_LEN</a> (char *str, char *pat)</td></tr>
<tr class="memdesc:ac85ba7d5161939102f1daf99dcae85f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two strings limted to length of pattern.  <a href="#ac85ba7d5161939102f1daf99dcae85f0">More...</a><br /></td></tr>
<tr class="separator:ac85ba7d5161939102f1daf99dcae85f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab012fa46a47fa2430d6ebd25ed38c59e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#ab012fa46a47fa2430d6ebd25ed38c59e">MATCHI_LEN</a> (char *str, char *pat)</td></tr>
<tr class="memdesc:ab012fa46a47fa2430d6ebd25ed38c59e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two strings without case limted to length of pattern.  <a href="#ab012fa46a47fa2430d6ebd25ed38c59e">More...</a><br /></td></tr>
<tr class="separator:ab012fa46a47fa2430d6ebd25ed38c59e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84aa635d9cf4f3d41608b9e5639f71e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a84aa635d9cf4f3d41608b9e5639f71e9">split_args</a> (char *str, char *argv[], int max)</td></tr>
<tr class="memdesc:a84aa635d9cf4f3d41608b9e5639f71e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Split string into arguments stored in argv[] We split source string into arguments Warning: source string is modified! To save memory each gap in the source string is terminated with an EOS This becomes the end of string for each argument returned Warning: Do NOT modify the source string or argument contents while using them You can reassign new pointers to the arguments if you like.  <a href="#a84aa635d9cf4f3d41608b9e5639f71e9">More...</a><br /></td></tr>
<tr class="separator:a84aa635d9cf4f3d41608b9e5639f71e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9387f7db4933b1bafd14bddad8e8c9c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a9387f7db4933b1bafd14bddad8e8c9c8">get_token</a> (char *str, char *<a class="el" href="stringsup_8h.html#ae9142769a957bcb8c0fad1934576f576">token</a>, int max)</td></tr>
<tr class="memdesc:a9387f7db4933b1bafd14bddad8e8c9c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">return next token  <a href="#a9387f7db4933b1bafd14bddad8e8c9c8">More...</a><br /></td></tr>
<tr class="separator:a9387f7db4933b1bafd14bddad8e8c9c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9142769a957bcb8c0fad1934576f576"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#ae9142769a957bcb8c0fad1934576f576">token</a> (char *str, char *pat)</td></tr>
<tr class="memdesc:ae9142769a957bcb8c0fad1934576f576"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for token in a string matching user pattern.  <a href="#ae9142769a957bcb8c0fad1934576f576">More...</a><br /></td></tr>
<tr class="separator:ae9142769a957bcb8c0fad1934576f576"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cc256e4952848245227600da2552e34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="earth2wireframe_8c.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a9cc256e4952848245227600da2552e34">get_value</a> (char *str)</td></tr>
<tr class="memdesc:a9cc256e4952848245227600da2552e34"><td class="mdescLeft">&#160;</td><td class="mdescRight">get a number  <a href="#a9cc256e4952848245227600da2552e34">More...</a><br /></td></tr>
<tr class="separator:a9cc256e4952848245227600da2552e34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11f9265694fbed4de67d91c6959a0d18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a11f9265694fbed4de67d91c6959a0d18">strnalloc</a> (char *str, int len)</td></tr>
<tr class="memdesc:a11f9265694fbed4de67d91c6959a0d18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate space for string with maximum size.  <a href="#a11f9265694fbed4de67d91c6959a0d18">More...</a><br /></td></tr>
<tr class="separator:a11f9265694fbed4de67d91c6959a0d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a354472f280e9fe08820d6f32e0feddae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stringsup_8c.html#a354472f280e9fe08820d6f32e0feddae">stralloc</a> (char *str)</td></tr>
<tr class="memdesc:a354472f280e9fe08820d6f32e0feddae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate space for string.  <a href="#a354472f280e9fe08820d6f32e0feddae">More...</a><br /></td></tr>
<tr class="separator:a354472f280e9fe08820d6f32e0feddae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a9387f7db4933b1bafd14bddad8e8c9c8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char* get_token </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>return next token </p>
<ul>
<li>Skips all non printable ASCII characters before token</li>
<li>Token returns only printable ASCII</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string to search. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">token</td><td>token to return </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">max</td><td>maximum token size</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer past token on success . </dd>
<dd>
NULL if no token found </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00628">628</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

</div>
</div>
<a class="anchor" id="a9cc256e4952848245227600da2552e34"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="earth2wireframe_8c.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> get_value </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get a number </p>
<ul>
<li>Used only for debugging <dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string to examine</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>value </dd></dl>
</li>
</ul>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00706">706</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

</div>
</div>
<a class="anchor" id="a8c33a3f5b4322e705d3403f63d55b0a1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> isdigit </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>test if a character is a digit </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>character </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true or false </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00048">48</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="mathio_8c_source.html#l00295">atol()</a>.</p>

</div>
</div>
<a class="anchor" id="a15c5aeb16e6527e860098b0e062168b5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> islower </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>character.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 of lower case, else 0 </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00080">80</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="stringsup_8c_source.html#l00112">toupper()</a>.</p>

</div>
</div>
<a class="anchor" id="aa1caa55b6624cc08af06c04cbfe6c02a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> isupper </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Is a character upper case. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>character.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 of upper case, else 0 </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00064">64</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="stringsup_8c_source.html#l00096">tolower()</a>.</p>

</div>
</div>
<a class="anchor" id="a9fb9c5c9b25cdf504152f7610f0d118c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int MATCH </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>pat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compare two strings. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string to match. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pat</td><td>pattern to compare.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string lenth on match. </dd>
<dd>
0 on no match. </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00455">455</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="stringsup_8c_source.html#l00471">MATCHARGS()</a>.</p>

</div>
</div>
<a class="anchor" id="ac85ba7d5161939102f1daf99dcae85f0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int MATCH_LEN </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>pat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compare two strings limted to length of pattern. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string to match. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pat</td><td>pattern to compare.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string lenth on match. </dd>
<dd>
0 on no match. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>Matches sub strings so be caeful. </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00511">511</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

</div>
</div>
<a class="anchor" id="ae330bc7e8f9c442404f44ca0187b27d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int MATCHARGS </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>pat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Match two strings and compare argument index Display message if the number of arguments is too few. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>string to test </td></tr>
    <tr><td class="paramname">pat</td><td>pattern to match </td></tr>
    <tr><td class="paramname">min</td><td>minumum number or arguments </td></tr>
    <tr><td class="paramname">argc</td><td>actual number of arguments </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 on match, 0 on no match or too few arguments </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00471">471</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="fatfs__tests_8c_source.html#l00101">fatfs_tests()</a>, <a class="el" href="posix__tests_8c_source.html#l00084">posix_tests()</a>, and <a class="el" href="user__main_8c_source.html#l00631">user_tests()</a>.</p>

</div>
</div>
<a class="anchor" id="a158b18efacfbaf45bf46e03f355cf101"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int MATCHI </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>pat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compare two strings without case. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string to match. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pat</td><td>pattern to compare.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string lenth on match. </dd>
<dd>
0 on no match. </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00493">493</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

</div>
</div>
<a class="anchor" id="ab012fa46a47fa2430d6ebd25ed38c59e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int MATCHI_LEN </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>pat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compare two strings without case limted to length of pattern. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string to match. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pat</td><td>pattern to compare.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string lenth on match. </dd>
<dd>
0 on no match. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>Matches sub strings so be caeful. </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00537">537</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="stringsup_8c_source.html#l00706">get_value()</a>, and <a class="el" href="web_8c_source.html#l01077">match_headers()</a>.</p>

</div>
</div>
<a class="anchor" id="a76693775d57cf00d7cdb2e793ffd73f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void* memchr </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a>&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>find a character in a string of maximum size </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>character </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>string length to search </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string length </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00125">125</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

</div>
</div>
<a class="anchor" id="a205ab859e76086c5239a49effa3281dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char* nextspace </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>ptr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Skip to first white space in a string - tabs and spaces. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>input string</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to first white space character </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00306">306</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="web_8c_source.html#l01116">process_args()</a>.</p>

</div>
</div>
<a class="anchor" id="a00b9d97be21e4f3f5df1019a803c05a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> reverse </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reverse a string in place Example: abcdef -&gt; fedcba. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string length </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00231">231</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

</div>
</div>
<a class="anchor" id="abc984b1c18a18e210587cffd4aa8000f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void sep </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>print seperator </p>
<p>undo any existing macros </p>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00032">32</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="user__main_8c_source.html#l00971">setup()</a>.</p>

</div>
</div>
<a class="anchor" id="aae86b90fc6ccc0c432de5c492cdcbaba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char* skipchars </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>pat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Skip characters defined in user string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pat</td><td>pattern string</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to string after skipped characters. </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00328">328</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

</div>
</div>
<a class="anchor" id="a8cebaf955a9e3b5f1f2af105641dad40"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char* skipspaces </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>ptr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Skip white space in a string - tabs and spaces. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>input string</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to first non white space character </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00289">289</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="stringsup_8c_source.html#l00628">get_token()</a>, <a class="el" href="stringsup_8c_source.html#l00706">get_value()</a>, <a class="el" href="web_8c_source.html#l01077">match_headers()</a>, <a class="el" href="web_8c_source.html#l01535">parse_http_request()</a>, <a class="el" href="stringsup_8c_source.html#l00566">split_args()</a>, <a class="el" href="timetests_8c_source.html#l00099">timetests()</a>, and <a class="el" href="stringsup_8c_source.html#l00671">token()</a>.</p>

</div>
</div>
<a class="anchor" id="a84aa635d9cf4f3d41608b9e5639f71e9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int split_args </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>argv</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Split string into arguments stored in argv[] We split source string into arguments Warning: source string is modified! To save memory each gap in the source string is terminated with an EOS This becomes the end of string for each argument returned Warning: Do NOT modify the source string or argument contents while using them You can reassign new pointers to the arguments if you like. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname"></td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00566">566</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="user__main_8c_source.html#l00274">user_tasks()</a>.</p>

</div>
</div>
<a class="anchor" id="a354472f280e9fe08820d6f32e0feddae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char* stralloc </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocate space for string. </p>
<ul>
<li>Copies tring into allocated space.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>user string.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to alocated string. </dd>
<dd>
NULL on out of memory. </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00774">774</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="bdffont2c_8c_source.html#l00091">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a5b20054fe279135f819d1c561f081649"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> strcasecmp </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compare two strings without case. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string to match. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pat</td><td>pattern to compare.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on match, &lt; 0 implies str sorts before pat, &gt; 0 implies str sorts after pat </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00410">410</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="web_8c_source.html#l00996">file_type()</a>, <a class="el" href="web_8c_source.html#l01422">http_value()</a>, and <a class="el" href="stringsup_8c_source.html#l00493">MATCHI()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c9fb6fae0723d90a3b652ad6d869eb4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> char* strcat </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Append string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dest</td><td>string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string length </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00199">199</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="posix__tests_8c_source.html#l00517">ls()</a>, and <a class="el" href="posix__tests_8c_source.html#l00661">upload()</a>.</p>

</div>
</div>
<a class="anchor" id="abee00aec80e542c31b536a531ffe761a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> strcmp </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compare two strings. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string to match. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pat</td><td>pattern to compare.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on match, &lt; 0 implies str sorts before pat, &gt; 0 implies str sorts after pat </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00362">362</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="bdffontutil_8c_source.html#l00611">FindFontName()</a>, <a class="el" href="earth2wireframe_8c_source.html#l00077">main()</a>, <a class="el" href="stringsup_8c_source.html#l00455">MATCH()</a>, and <a class="el" href="posix_8c_source.html#l01344">stat()</a>.</p>

</div>
</div>
<a class="anchor" id="a17598481fa495598cd57447afde0ff6b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> char * strcpy </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>copy a string </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dest</td><td>destination string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>destination string </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00161">161</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="send_8c_source.html#l00026">escape()</a>, <a class="el" href="fatfs__tests_8c_source.html#l00313">fatfs_ls()</a>, <a class="el" href="fatfs__sup_8c_source.html#l00194">fatfs_scan_files()</a>, <a class="el" href="posix__tests_8c_source.html#l00517">ls()</a>, <a class="el" href="send_8c_source.html#l00148">main()</a>, <a class="el" href="network_8c_source.html#l00165">setup_networking()</a>, <a class="el" href="bdffontutil_8c_source.html#l00093">stralloc()</a>, and <a class="el" href="stringsup_8c_source.html#l00199">strcat()</a>.</p>

</div>
</div>
<a class="anchor" id="a895ea3a2f9901e4c962806cc15271339"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a> <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> strlen </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>String Length. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string length </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00146">146</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="web_8c_source.html#l01298">arg_name()</a>, <a class="el" href="web_8c_source.html#l01346">arg_value()</a>, <a class="el" href="posix__tests_8c_source.html#l00259">cat()</a>, <a class="el" href="send_8c_source.html#l00026">escape()</a>, <a class="el" href="fatfs__tests_8c_source.html#l00313">fatfs_ls()</a>, <a class="el" href="fatfs__sup_8c_source.html#l00194">fatfs_scan_files()</a>, <a class="el" href="cordic2c_8c_source.html#l00128">get_date()</a>, <a class="el" href="web_8c_source.html#l00853">html_msg()</a>, <a class="el" href="posix__tests_8c_source.html#l00600">logfile()</a>, <a class="el" href="posix__tests_8c_source.html#l00517">ls()</a>, <a class="el" href="earth2wireframe_8c_source.html#l00077">main()</a>, <a class="el" href="stringsup_8c_source.html#l00455">MATCH()</a>, <a class="el" href="web_8c_source.html#l01077">match_headers()</a>, <a class="el" href="stringsup_8c_source.html#l00511">MATCH_LEN()</a>, <a class="el" href="bdffontutil_8c_source.html#l00279">match_token()</a>, <a class="el" href="stringsup_8c_source.html#l00493">MATCHI()</a>, <a class="el" href="stringsup_8c_source.html#l00537">MATCHI_LEN()</a>, <a class="el" href="posix_8c_source.html#l01323">mctime()</a>, <a class="el" href="web_8c_source.html#l01247">next_arg()</a>, <a class="el" href="web_8c_source.html#l01535">parse_http_request()</a>, <a class="el" href="web_8c_source.html#l01116">process_args()</a>, <a class="el" href="bdffontutil_8c_source.html#l00790">ReadBdf()</a>, <a class="el" href="posix_8c_source.html#l01755">readdir()</a>, <a class="el" href="stringsup_8c_source.html#l00231">reverse()</a>, <a class="el" href="send_8c_source.html#l00087">send_message()</a>, <a class="el" href="bdffontutil_8c_source.html#l00093">stralloc()</a>, <a class="el" href="stringsup_8c_source.html#l00671">token()</a>, <a class="el" href="bdffontutil_8c_source.html#l00177">trim_tail()</a>, and <a class="el" href="posix__tests_8c_source.html#l00661">upload()</a>.</p>

</div>
</div>
<a class="anchor" id="a11f9265694fbed4de67d91c6959a0d18"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> char* strnalloc </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocate space for string with maximum size. </p>
<ul>
<li>Copies tring into allocated space limited to maximum size.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>user string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>maximum string length.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to alocated string. </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00750">750</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

</div>
</div>
<a class="anchor" id="af2fdec8b4be40840ac03df58d48bcc8d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> strncasecmp </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a>&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compare two strings without case maximum len bytes in size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string to match. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pat</td><td>pattern to compare. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>maximum string length for compare </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on match, &lt; 0 implies str sorts before pat, &gt; 0 implies str sorts after pat </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00432">432</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="stringsup_8c_source.html#l00537">MATCHI_LEN()</a>.</p>

</div>
</div>
<a class="anchor" id="af7f9d4db489856461ccf1c577b0035a5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> char* strncat </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a>&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Append string of at most N bytes from src. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dest</td><td>string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string length </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00214">214</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="web_8c_source.html#l00853">html_msg()</a>.</p>

</div>
</div>
<a class="anchor" id="ac8c58d100b5e1ef176592486bb150bbc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> strncmp </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a>&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compare two strings maximum len bytes in size. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string to match. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pat</td><td>pattern to compare. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>maximum string length for compare </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on match, &lt; 0 implies str sorts before pat, &gt; 0 implies str sorts after pat </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00386">386</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="stringsup_8c_source.html#l00511">MATCH_LEN()</a>, <a class="el" href="bdffontutil_8c_source.html#l00279">match_token()</a>, and <a class="el" href="stringsup_8c_source.html#l00671">token()</a>.</p>

</div>
</div>
<a class="anchor" id="acdb13cf3724e976e98a6178baf0a3ac5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> char* strncpy </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="cpu_8h.html#aea0c7eab1ce1eebb4e879ef4e23c16ee">size_t</a>&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>copy a string of at most N characters </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dest</td><td>destination string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>source string </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>maximum destination size </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>destination string </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00179">179</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="send_8c_source.html#l00148">main()</a>, <a class="el" href="posix_8c_source.html#l01755">readdir()</a>, <a class="el" href="posix_8c_source.html#l01857">strerror_r()</a>, <a class="el" href="stringsup_8c_source.html#l00750">strnalloc()</a>, <a class="el" href="stringsup_8c_source.html#l00214">strncat()</a>, and <a class="el" href="user__main_8c_source.html#l00348">user_loop()</a>.</p>

</div>
</div>
<a class="anchor" id="a25ac5a1dbdfa1d06d55448cd7b665d1d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> strupper </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>UPPERCASE a string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00253">253</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

</div>
</div>
<a class="anchor" id="ae9142769a957bcb8c0fad1934576f576"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int token </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>pat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Search for token in a string matching user pattern. </p>
<ul>
<li>Skips all non printable ASCII characters before trying match.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string to search. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pat</td><td>pattern to search for.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string lenth on match. </dd>
<dd>
0 on no match. </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00671">671</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="mmc_8c_source.html#l00224">rcvr_datablock()</a>, and <a class="el" href="bdffontutil_8c_source.html#l00790">ReadBdf()</a>.</p>

</div>
</div>
<a class="anchor" id="a1825e0085bbbce998b39f9ff2682173c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> tolower </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert character to lower case, only if it is upper case. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>character.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>character or lowercase value or character </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00096">96</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="posix_8c_source.html#l01922">mkfs()</a>.</p>

</div>
</div>
<a class="anchor" id="a96a73ab9e374d97a249f39eb6875ba79"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> int <a class="el" href="mmc__hal_8h.html#a399da2caab82ec1bb3d5a8fbc5306768">WEAK_ATR</a> toupper </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert character to upper case, only if it is lower case. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>character.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>character or upper case value or character </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00112">112</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="bdffontutil_8c_source.html#l00790">ReadBdf()</a>, <a class="el" href="stringsup_8c_source.html#l00410">strcasecmp()</a>, <a class="el" href="stringsup_8c_source.html#l00432">strncasecmp()</a>, and <a class="el" href="stringsup_8c_source.html#l00253">strupper()</a>.</p>

</div>
</div>
<a class="anchor" id="a2d7ec9dae4f58c027edbc22118714ba6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="earth2wireframe_8c.html#ad0fe97585b8891f5e4f2b9a6426330a4">MEMSPACE</a> void trim_tail </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Trim White space and control characters from end of string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">str</td><td>string</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>Overwrites White space and control characters with EOS. </dd></dl>

<p>Definition at line <a class="el" href="stringsup_8c_source.html#l00271">271</a> of file <a class="el" href="stringsup_8c_source.html">stringsup.c</a>.</p>

<p>Referenced by <a class="el" href="posix__tests_8c_source.html#l00259">cat()</a>, and <a class="el" href="web_8c_source.html#l01077">match_headers()</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jan 31 2018 21:22:16 for ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
